]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
overivew: Propagate target state when animating to overview
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Sat, 2 Jan 2021 20:19:37 +0000 (17:19 -0300)
committerMarge Bot <marge-bot@gnome.org>
Thu, 11 Feb 2021 15:50:31 +0000 (15:50 +0000)
Next commits will requires ControlsManager to animate to different
states, depending on how Overview is called. Add a new 'state'
parameter to ControlsManager's, and OverviewActor's animateToOverview,
and Overview.show().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1624>

js/ui/overview.js
js/ui/overviewControls.js

index 9e76a82f80cae23b94f27030831e32d0a3944a43..0020dcd4f21bd4332fae8ee7f2de6c9f023a1ef1 100644 (file)
@@ -98,8 +98,8 @@ class OverviewActor extends St.BoxLayout {
         this.add_child(this._controls);
     }
 
-    animateToOverview(callback) {
-        this._controls.animateToOverview(callback);
+    animateToOverview(state, callback) {
+        this._controls.animateToOverview(state, callback);
     }
 
     animateFromOverview(callback) {
@@ -482,7 +482,10 @@ var Overview = class {
     // show:
     //
     // Animates the overview visible and grabs mouse and keyboard input
-    show() {
+    show(state = OverviewControls.ControlsState.WINDOW_PICKER) {
+        if (state === OverviewControls.ControlsState.HIDDEN)
+            throw new Error('Invalid state, use hide() to hide');
+
         if (this.isDummy)
             return;
         if (this._shown)
@@ -493,11 +496,11 @@ var Overview = class {
             return;
 
         Main.layoutManager.showOverview();
-        this._animateVisible();
+        this._animateVisible(state);
     }
 
 
-    _animateVisible() {
+    _animateVisible(state) {
         if (this._visible || this._animationInProgress)
             return;
 
@@ -508,7 +511,7 @@ var Overview = class {
 
         Meta.disable_unredirect_for_display(global.display);
 
-        this._overview.animateToOverview(() => this._showDone());
+        this._overview.animateToOverview(state, () => this._showDone());
 
         Main.layoutManager.overviewGroup.set_child_above_sibling(
             this._coverPane, null);
index 9dbda145971d64f01d90374025c0270b383fe545..2f584d2090453c0a85c056367c69a4f32ee88e07 100644 (file)
@@ -177,11 +177,11 @@ class ControlsManager extends St.Widget {
         this._workspaceAdjustment.value = activeIndex;
     }
 
-    animateToOverview(callback) {
+    animateToOverview(state, callback) {
         this.viewSelector.prepareToEnterOverview();
 
         this._stateAdjustment.value = ControlsState.HIDDEN;
-        this._stateAdjustment.ease(ControlsState.WINDOW_PICKER, {
+        this._stateAdjustment.ease(state, {
             duration: Overview.ANIMATION_TIME,
             mode: Clutter.AnimationMode.EASE_OUT_QUAD,
             onStopped: () => {